//package blender.makesrna.srna;
//
//import blender.makesrna.RnaWm;
//import blender.makesrna.RNATypes.PointerRNA;
//import blender.makesrna.rna_internal_types.StructRNA;
//import blender.python.BpyRna.BPy_StructRNA;
//
//public class RnaOperator extends RnaStruct {
//	
//	public static BPy_StructRNA __rna__ = new BPy_StructRNA(new StructRNA(), new StructRNA(RnaWm.rna_Operator_register));
//	
//	public RnaOperator(PointerRNA ptr) {
//		super(ptr);
//	}
//	
//	public static StructRNA RNA_Operator = new StructRNA(
//		"Operator"
//	);
//
//}

/* Automatically generated struct definitions for the Data API.
   Do not edit manually, changes will be overwritten.           */

package blender.makesrna.srna;

import blender.makesdna.sdna.*;

import static blender.makesrna.RnaRna.*;
import static blender.makesrna.RnaAccess.*;
import static blender.makesrna.RnaDefine.*;
import static blender.makesrna.RNATypes.*;
import blender.makesrna.rna_internal_types.*;
import blender.blenlib.*;
import blender.blenkernel.*;

import blender.makesdna.WindowManagerTypes.wmOperatorType;

import static blender.makesrna.RnaWm.*;
//import static blender.makesrna.RnaWmApi.*;

public class RnaOperator extends RnaStruct {

/* Autogenerated Functions */

public RnaOperator(PointerRNA ptr) { super(ptr); }

private static PropCollectionGetFunc Operator_rna_properties_get = new PropCollectionGetFunc() {
public PointerRNA get(CollectionPropertyIterator iter)
{
	return rna_builtin_properties_get.get(iter);
}};

private static PropCollectionBeginFunc Operator_rna_properties_begin = new PropCollectionBeginFunc() {
public void begin(CollectionPropertyIterator iter, PointerRNA ptr)
{

	iter.clear();
	iter.parent= ptr;
	iter.prop= (PropertyRNA)rna_Operator_rna_properties;

	rna_builtin_properties_begin.begin(iter, ptr);

	if(iter.valid)
		iter.ptr= Operator_rna_properties_get.get(iter);
}};

private static PropCollectionNextFunc Operator_rna_properties_next = new PropCollectionNextFunc() {
public void next(CollectionPropertyIterator iter)
{
	rna_builtin_properties_next.next(iter);

	if(iter.valid)
		iter.ptr= Operator_rna_properties_get.get(iter);
}};

private static PropCollectionEndFunc Operator_rna_properties_end = new PropCollectionEndFunc() {
public void end(CollectionPropertyIterator iter)
{
	rna_iterator_listbase_end.end(iter);
}};

private static PropPointerGetFunc Operator_rna_type_get = new PropPointerGetFunc() {
public PointerRNA getPtr(PointerRNA ptr)
{
	return rna_builtin_type_get.getPtr(ptr);
}};

public String getName() { Operator_name_get.getStr(ptr, DEFAULT_BUF,0); return StringUtil.toJString(DEFAULT_BUF,0);}
private static PropStringGetFunc Operator_name_get = new PropStringGetFunc() {
public void getStr(PointerRNA ptr, byte[] value, int offset)
{
	rna_Operator_name_get.getStr(ptr, value, offset);
}};

private static PropStringLengthFunc Operator_name_length = new PropStringLengthFunc() {
public int lenStr(PointerRNA ptr)
{
	return rna_Operator_name_length.lenStr(ptr);
}};

private static PropPointerGetFunc Operator_properties_get = new PropPointerGetFunc() {
public PointerRNA getPtr(PointerRNA ptr)
{
	return rna_Operator_properties_get.getPtr(ptr);
}};

public boolean getHas_reports() { return Operator_has_reports_get.getBool(ptr); }
private static PropBooleanGetFunc Operator_has_reports_get = new PropBooleanGetFunc() {
public boolean getBool(PointerRNA ptr)
{
	return rna_Operator_has_reports_get.getBool(ptr);
}};

private static PropPointerGetFunc Operator_layout_get = new PropPointerGetFunc() {
public PointerRNA getPtr(PointerRNA ptr)
{
	wmOperator data= (wmOperator)(ptr.data);
	return rna_pointer_inherit_refine(ptr, RNA_UILayout, data.layout);
}};

public String getBl_idname() { Operator_bl_idname_get.getStr(ptr, DEFAULT_BUF,0); return StringUtil.toJString(DEFAULT_BUF,0);}
private static PropStringGetFunc Operator_bl_idname_get = new PropStringGetFunc() {
public void getStr(PointerRNA ptr, byte[] value, int offset)
{
	wmOperator data= (wmOperator)(ptr.data);
	StringUtil.BLI_strncpy(value,offset, StringUtil.toCString(((wmOperatorType)data.type).idname),0, 64);
}};

private static PropStringLengthFunc Operator_bl_idname_length = new PropStringLengthFunc() {
public int lenStr(PointerRNA ptr)
{
	wmOperator data= (wmOperator)(ptr.data);
	return StringUtil.strlen(StringUtil.toCString(((wmOperatorType)data.type).idname),0);
}};

public void setBl_idname(String value) { Operator_bl_idname_set.setStr(ptr, StringUtil.toCString(value),0); }
private static PropStringSetFunc Operator_bl_idname_set = new PropStringSetFunc() {
public void setStr(PointerRNA ptr, byte[] value, int offset)
{
	rna_Operator_bl_idname_set.setStr(ptr, value, offset);
}};

public String getBl_label() { Operator_bl_label_get.getStr(ptr, DEFAULT_BUF,0); return StringUtil.toJString(DEFAULT_BUF,0);}
private static PropStringGetFunc Operator_bl_label_get = new PropStringGetFunc() {
public void getStr(PointerRNA ptr, byte[] value, int offset)
{
	wmOperator data= (wmOperator)(ptr.data);
	StringUtil.BLI_strncpy(value,offset, StringUtil.toCString(((wmOperatorType)data.type).name),0, 1024);
}};

private static PropStringLengthFunc Operator_bl_label_length = new PropStringLengthFunc() {
public int lenStr(PointerRNA ptr)
{
	wmOperator data= (wmOperator)(ptr.data);
	return StringUtil.strlen(StringUtil.toCString(((wmOperatorType)data.type).name),0);
}};

public void setBl_label(String value) { Operator_bl_label_set.setStr(ptr, StringUtil.toCString(value),0); }
private static PropStringSetFunc Operator_bl_label_set = new PropStringSetFunc() {
public void setStr(PointerRNA ptr, byte[] value, int offset)
{
	rna_Operator_bl_label_set.setStr(ptr, value, offset);
}};

public String getBl_description() { Operator_bl_description_get.getStr(ptr, DEFAULT_BUF,0); return StringUtil.toJString(DEFAULT_BUF,0);}
private static PropStringGetFunc Operator_bl_description_get = new PropStringGetFunc() {
public void getStr(PointerRNA ptr, byte[] value, int offset)
{
	wmOperator data= (wmOperator)(ptr.data);
	StringUtil.BLI_strncpy(value,offset, StringUtil.toCString(((wmOperatorType)data.type).description),0, 1024);
}};

private static PropStringLengthFunc Operator_bl_description_length = new PropStringLengthFunc() {
public int lenStr(PointerRNA ptr)
{
	wmOperator data= (wmOperator)(ptr.data);
	return StringUtil.strlen(StringUtil.toCString(((wmOperatorType)data.type).description),0);
}};

public void setBl_description(String value) { Operator_bl_description_set.setStr(ptr, StringUtil.toCString(value),0); }
private static PropStringSetFunc Operator_bl_description_set = new PropStringSetFunc() {
public void setStr(PointerRNA ptr, byte[] value, int offset)
{
	rna_Operator_bl_description_set.setStr(ptr, value, offset);
}};

public int getBl_options() { return Operator_bl_options_get.getEnum(ptr); }
private static PropEnumGetFunc Operator_bl_options_get = new PropEnumGetFunc() {
public int getEnum(PointerRNA ptr)
{
	wmOperator data= (wmOperator)(ptr.data);
	return (int)(((wmOperatorType)data.type).flag);
}};

public void setBl_options(int value) { Operator_bl_options_set.setEnum(ptr, value); }
private static PropEnumSetFunc Operator_bl_options_set = new PropEnumSetFunc() {
public void setEnum(PointerRNA ptr, int value)
{
	wmOperator data= (wmOperator)(ptr.data);
	value= value;
	((wmOperatorType)data.type).flag= castMe(value, ((wmOperatorType)data.type).flag);
}};

/* Operator */
private static CollectionPropertyRNA rna_Operator_rna_properties = new CollectionPropertyRNA(
	null, null,
	-1, "rna_properties", 128, "Properties",
	"RNA property collection",
	0,
	PROP_COLLECTION, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_rna_properties_begin, Operator_rna_properties_next, Operator_rna_properties_end, Operator_rna_properties_get, null, null, rna_builtin_properties_lookup_string, RnaProperty.RNA_Property
);

private static PointerPropertyRNA rna_Operator_rna_type = new PointerPropertyRNA(
	null, null,
	-1, "rna_type", 524288, "RNA",
	"RNA type definition",
	0,
	PROP_POINTER, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_rna_type_get, null, null, null,RnaStruct.RNA_Struct
);

private static StringPropertyRNA rna_Operator_name = new StringPropertyRNA(
	null, null,
	-1, "name", 0, "Name",
	"",
	0,
	PROP_STRING, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_name_get, Operator_name_length, null, 0, ""
);

private static PointerPropertyRNA rna_Operator_properties = new PointerPropertyRNA(
	null, null,
	-1, "properties", 262144, "Properties",
	"",
	0,
	PROP_POINTER, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_properties_get, null, null, null,RnaOperatorProperties.RNA_OperatorProperties
);

private static BooleanPropertyRNA rna_Operator_has_reports = new BooleanPropertyRNA(
	null, null,
	-1, "has_reports", 2, "Has Reports",
	"Operator has a set of reports (warnings and errors) from last execution",
	0,
	PROP_BOOLEAN, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_has_reports_get, null, null, null, false, null
);

private static PointerPropertyRNA rna_Operator_layout = new PointerPropertyRNA(
	null, null,
	-1, "layout", 0, "layout",
	"",
	0,
	PROP_POINTER, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_layout_get, null, null, null,RnaUILayout.RNA_UILayout
);

private static StringPropertyRNA rna_Operator_bl_idname = new StringPropertyRNA(
	null, null,
	-1, "bl_idname", 17, "bl_idname",
	"",
	0,
	PROP_STRING, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_bl_idname_get, Operator_bl_idname_length, Operator_bl_idname_set, 64, ""
);

private static StringPropertyRNA rna_Operator_bl_label = new StringPropertyRNA(
	null, null,
	-1, "bl_label", 17, "bl_label",
	"",
	0,
	PROP_STRING, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_bl_label_get, Operator_bl_label_length, Operator_bl_label_set, 1024, ""
);

private static StringPropertyRNA rna_Operator_bl_description = new StringPropertyRNA(
	null, null,
	-1, "bl_description", 49, "bl_description",
	"",
	0,
	PROP_STRING, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_bl_description_get, Operator_bl_description_length, Operator_bl_description_set, 1024, ""
);

private static EnumPropertyItem[] rna_Operator_bl_options_items = {
	new EnumPropertyItem(1, "REGISTER", 0, "Register", ""),
	new EnumPropertyItem(2, "UNDO", 0, "Undo", ""),
	new EnumPropertyItem(4, "BLOCKING", 0, "Finished", ""),
	new EnumPropertyItem(8, "MACRO", 0, "Macro", ""),
	new EnumPropertyItem(16, "GRAB_POINTER", 0, "Grab Pointer", ""),
	new EnumPropertyItem(32, "PRESET", 0, "Preset", ""),
	new EnumPropertyItem(0, null, 0, null, null)
};

private static EnumPropertyRNA rna_Operator_bl_options = new EnumPropertyRNA(
	null, null,
	-1, "bl_options", 2097203, "Options",
	"Options for this operator type",
	0,
	PROP_ENUM, PROP_NONE|PROP_UNIT_NONE, null, 0, new int[]{0, 0, 0}, 0,
	null, 0, null, null,
	0, -1, null,
	Operator_bl_options_get, Operator_bl_options_set, null, rna_Operator_bl_options_items, 6, 1
);

static { ListBase tmp = new ListBase();
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_rna_properties);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_rna_type);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_name);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_properties);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_has_reports);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_layout);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_bl_idname);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_bl_label);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_bl_description);
	ListBaseUtil.BLI_addtail(tmp, rna_Operator_bl_options);
}

static { ListBase tmp = new ListBase();
}

public static StructRNA RNA_Operator = new StructRNA(
	RnaOperatorProperties.RNA_OperatorProperties, RnaMenu.RNA_Menu,
	null,
	rna_Operator_rna_properties, rna_Operator_bl_options,
	null,null,
	"Operator", 0, "Operator", "Storage of an operator being executed, or registered after execution",
	17,
	rna_Operator_bl_idname, rna_Operator_rna_properties,
	null,
	null,
	rna_Operator_refine,
	null,
	rna_Operator_register,
	rna_Operator_unregister,
	null,
	null, null
);

}

